# 定义一个圆形类,半径是这个圆形的属性,实例化一个半径为5的圆形,一个半径为10的圆形，定义方法计算圆形的面积和周长

# class Cycle():
#     def __init__(self, r):
#         if r > 0:
#             self.r = r
#         else:
#             print("该参数不允许小于0")
#
#     def func1(self):
#         return 3.14 * (self.r ** 2)
#
#     def func2(self):
#         return 2 * 3.14 * self.r
#
# c1 = Cycle(5)
# c2 = Cycle(10)


# 补充代码，实现用户登录和注册

class User:
    def __init__(self, name, pwd):
        self.name = name
        self.pwd = pwd


class Account:
    def __init__(self):
        # 用户列表，数据格式：[user对象，user对象，user对象]
        self.user_list = []

    def login(self, username, password):
        """
        用户登录，输入用户名和密码然后去self.user_list中校验用户合法性(太术语化了)
        :return:
        """
        for user in self.user_list:
            if user.name == username:
                if user.pwd == password:
                    print("登录成功")
                else:
                    print("密码错误")
                break
        else:
            print("您输入的用户名尚未注册,请先注册")

    def register(self, username, password):
        """
        用户注册，每注册一个用户就创建一个user对象，然后添加到self.user_list中，表示注册成
        功。
        :return:
        """
        for user in self.user_list:
            if user.name == username:
                print("您输入的用户名已被注册,请继续登录")
                break
        else:
            self.user_list.append(User(username, password))

    def run(self, res, username, password):
        """
        主程序
        :return:
        """
        if res == 'l':
            self.login(username, password)
        else:
            self.register(username, password)

if __name__ == '__main__':
    obj = Account()
    while True:
        res = input("l: 登录, r: 注册, q|Q: 退出操作: ")
        if res.lower() == 'q':
            break
        else:
            if res in ['l', 'r']:
                username = input("请输入用户名: ")
                password = input("请输入密码: ")
                obj.run(res, username, password)
            else:
                print("输入的指令不正确, 请重新输入")